package sanshui.system.trade.factory.trade.strategy;

import lombok.Data;
import sanshui.system.trade.factory.trade.indicator.IndicatorResult;

/**
 * 策略指标输出结果
 * */
@Data
public class StrategyResult {
    /*
    * 基础信息
    * */
    String name;    // 标的名称
    String code;    // 标的代码
    long price;   // 交易信号触发当时价格
    String tradeTime; // 16位，交易信号触发时间
    StrategyCode strategyCode; // 策略名称

    /**
     * 指标计算结果
     * */
    IndicatorResult indicatorResult;

    /**
     * 交易策略设置
     * */
    StrategyCallType strategyCallType; // 由交易策略给出交易信号

    /**
     * 风控策略设置
     * */
    long num; // 交易数量
    long fee; // 交易手续费
    long numAround;
    long priceAround;
    long lossLimitPrice; // 止损价格
    long lossLimitNum; // 止损数量
    long winLimitPrice; // 止盈价格
    long winLimitNum; // 止盈数量

    public static StrategyResult buildNothing(String code){
        StrategyResult strategyResult = new StrategyResult();
        strategyResult.setStrategyCallType(StrategyCallType.NOTHING);
        strategyResult.setCode(code);
        return strategyResult;
    }
}
